#include <iostream>

// 258.各位相加
// 给定一个非负整数num，反复将各个位上的数字相加，直到结果为一位数。返回这个结果。
// 输入：num=38
// 输出：2
// 解释：各位相加的过程为：38-->3+8-->11
// 11-->1+1->2,由于2是一位数，所以返回2。

// 数学法
class Solution {
public:
    int addDigits(int num) {
        return (num - 1) % 9 + 1;
    }
};
int main() {
    std::cout << Solution().addDigits(38) << std::endl; // 2
    std::cout << Solution().addDigits(0) << std::endl; // 0
    return 0;
}
